As is known in the art, load-balancing solutions are becoming more common to support high-traffic Web sites. Typically high traffic Web sites can't process all requests on a single server. In order to increase the performance of the Web site (where the performance can be measured in response time to requests, among other criteria), one may seek to increase the capabilities of the server supporting the Web site. Rather than move the Web site to a more powerful and expensive hardware, clusters, or farms, of servers are provided, where each of the clusters store mirrored copies of the Web site. As requests are received for access to the Web site, the ‘best’ server cluster is selected to respond to each request. The selection of the ‘best’ server cluster for each web request depends upon a variety of considerations, including the health, user proximity, weights, and response times associated with each of the servers.
Some technologies that attempt to provide a measure of geographic distribution of Web requests rely primarily on Domain Name System (DNS) techniques, which rely on the DNS server alone or in combination with other logic. For example, round robin DNS techniques map multiple IP addresses to a single DNS host name. As clients resolve the hostname, DNS responds by cycling through the multiple IP addresses mapped to the host name. The DNS technique may be further enhanced by using routing metrics or network distance calculation. Alternatively, sets of IP addresses may be associated with geographically diverse DNS servers. While the DNS techniques provide some load sharing capabilities, they are problematic because they are resource intensive to resolve and are typically incapable of being content aware.
An improved load balancing approach for high traffic web sites is implemented in the Alteon line of products provided by Nortel Networks, Ltd. The Alteon product line includes Content Directors (CDs), which are designed to route or load balance requests between web sites. Various data is used in determining the client proximity to the available servers and thus where to route requests. This data includes the distance between server and client, the current health of each site, the response time for each site (indicating the relative load at the site), and the availability of content at each site. The CDs are able make client proximity calculations at TCP connection time using a selection of proximity detection methods. Because the CD can make client proximity calculations at TCP connection time, the CD is able to calculate the closest topographical path between the client and each site, rather than having the calculation performed by the client's local DNS server.
Several of the techniques used by a CD for proximity detection are described in U.S. patent application Ser. No. 09/728,305, entitled “A Method and Apparatus for Discovering Client Proximity”, filed Nov. 30, 2000 by Tenereillo et al. (hereinafter referred to as the Tenereillo patent), incorporated by reference herein. An exemplary method disclosed in the Tenereillo patent is a so-called ‘footrace’ method for determining client proximity. The basic blocks of the footrace method are shown in FIG. 1, and will be described with regard to a client requesting content that is mirrored at three different web sites; Site A, Site B and Site C. Initially, at step 22 the client establishes a set of TCP connections to a Web Site by requesting access to a resource having a certain IP address. At step 24, DNS resolves the domain name to the IP address of one of the sites in the global domain, for example Site A. The global domain is registered in DNS with a unique Fully Qualified Domain Name (FQDN).
At step 26, the CD at Site A that receives the client's initial request acts as a synchronizing CD, and forwards partially built redirect messages to each participating web site (i.e., web sites which store mirrored copies of the content) including itself. The redirect message includes a local domain field and a response time field. The local domain field indicates the local domain to which future requests for the resource should be redirected. When the synchronizing CD partially builds the redirect messages, it leaves the local domain URL portion of this field empty. The response time field stores a time value indicating when the CDs at the participating web sites should forward their rebuilt redirect message back to the client.
At step 28, the CD at each web site that receives the partially built redirect message fills in the local domain field with their own local domain URL to provide a rebuilt redirect message. At the precise time indicated by the response time field, the CD at each participating web site forwards the rebuilt redirect message (with modified local domain URL) back to the client. In essence, a footrace ensues, with the participating web site having the fastest response time winning the footrace back to the client. At step 30, the client breaks the TCP connection with the synchronizing web site (Site A, in the above example, assuming Site A did not win the footrace), and initiates a new TCP connection to the local domain URL retrieved in the ‘winning’ redirect message.
Alternative methods of selecting the most proximate client are also described in the Tenereillo patent, and may include caching the URL of the ‘best’ Web site for client requests and building an HTML page having links between the various Web Site local domain names and the client to permit the client to calculate the round trip time for accessing each local domain.
However, one problem with the above described method of determining the optimum Web site is that is cannot be used in an environment where encrypted traffic is transferred between a client and a server, since certification and authentication is generally done on a point to point (client/server) basis. Accordingly, it would be desirable to determine a method for load balancing web site resources in a network including encrypted traffic.